package com.easybuilder.core.schedultask.dao;


import com.easybuilder.core.schedultask.entity.TaskPO;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface TaskDao{

    @Select("select * from sys_task")
    List<TaskPO> list();

    @Select("select * from sys_task where id = #{id}")
    TaskPO selectById(Long id);

    @Insert("insert into sys_task(job_name, job_group, job_status, bean_class, cron_expression, desc) values (#{task.jobName}, #{task.jobGroup}, #{task.jobStatus}, #{task.beanClass}, #{task.cronExpression}, #{task.desc})")
    int insert(@Param("task") TaskPO task);

    @Update("update sys_task set job_name = #{task.jobName}, job_group = #{task.jobGroup}, job_status = #{task.jobStatus}, bean_class = #{task.beanClass}, cron_expression = #{task.cronExpression}, description = #{task.description} where id = ${task.id}")
    int update(@Param("task") TaskPO task);


}
